package prj3;

import java.lang.String;

/**
 * Interface for coordinates used to index grids
 * @see IGrid
 * @author romain
 *
 */
public interface ICoordinate {

	static final int DIR_TOP = 0;
	static final int DIR_BOTTOM = 1;
	static final int DIR_LEFT = 2;
	static final int DIR_RIGHT = 3;
	
	/**
	 * Returns a textual representation of the coordinate
	 * @return String
	 */
	public String printPosition();
	
	/**
	 * Returns a neighbor in the coordinate system
	 * in the direction specified by the int parameter
	 * @param direction
	 * @return ICoordinate
	 */
	public ICoordinate getNeighbor(int direction);
    
    public int getLatitude();
    
    public int getLongitude();
    
    /**
     * Start point is the east-south corner of the range. 
     * latRange and longRange are in radians.
     * @param start
     * @param latRange
     * @param longRange
     * @return
     */
    public boolean isInRange(ICoordinate start, float latRange, float longRange);
}
